package cyclicstructure;

/**
 * @author shkstart
 * @date 2022/4/14 - 0:49
 */
public class ForIfTest01Optimize {
    public static void main(String[] args) {
////        方式1：
////        获取当前时间距离 1970-01-01 00：00：00 的毫秒数
//       long start = System.currentTimeMillis();
//        int count = 0;//记录质数个数
//        boolean isFlag = true;//标识 i 是否能被除尽，一旦除尽，修改其值。
//        for ( int i = 2; i <= 100000; i++ ) {// 遍历100000以内的整数
//            for ( int j = 2; j < Math.sqrt(i); j++ ) { // j被i去除
//                if (i % j == 0 ) { //i被j除尽
//                    isFlag = false;
//                     break; //只对本身非质数的自然数有效的。
//                }
//            }
//            if (isFlag == true ) {
//               // System.out.println(i);
//                count++;
//            }
////            重制isFlag
//            isFlag = true;
//        }
//        long end = System.currentTimeMillis();
//        System.out.println("质数的个数为：" + count);
//        System.out.println("所花费的时间为：" + (end - start));// 6823 - 优化一：696 优化二：18

//        方式2：
        //        获取当前时间距离 1970-01-01 00：00：00 的毫秒数
        long start = System.currentTimeMillis();
        int count = 0;
       label: for ( int i = 2; i <= 100000; i++ ) {// 遍历100000以内的整数
            for ( int j = 2; j <= Math.sqrt(i); j++ ) { // j被i去除
                if (i % j == 0 ) { //i被j除尽
                        continue label;
                }
            }

                count++;
        }
        long end = System.currentTimeMillis();
        System.out.println("质数的个数为：" + count);
        System.out.println("所花费的时间为：" + (end - start));// 6823 - 优化一：696 优化二：18
    }
}
